package com.ma.test  // 必须与FourthActivity的包名一致，无需修改

import android.content.ContentValues
import android.content.Context
import android.net.Uri
import android.os.Build
import android.provider.MediaStore

object PhotoUtils {
    // 生成保存照片的Uri（适配Android 10+）
    fun createImageUri(context: Context): Uri? {
        val values = ContentValues().apply {
            put(MediaStore.Images.Media.DISPLAY_NAME, "photo_${System.currentTimeMillis()}.jpg")
            put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg")
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
                put(MediaStore.Images.Media.IS_PENDING, 1) // 标记为待处理，避免被其他应用修改
            }
        }
        // 插入图片信息到系统媒体库，返回图片的Uri
        return context.contentResolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values)
    }

    // 确认保存的照片可被其他应用访问（Android 10+ 必须）
    fun finishImageUri(context: Context, uri: Uri) {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
            val values = ContentValues().apply {
                put(MediaStore.Images.Media.IS_PENDING, 0) // 取消待处理标记，开放访问
            }
            context.contentResolver.update(uri, values, null, null)
        }
    }
}